#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2024/4/3 16:26
# @File    : temp.py
# @Description : -i http://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn


from tkinter import ttk
import tkinter as tk

def demo1():
    def on_enter(event):
        print("鼠标滑入了标签")
        label.config(bg="yellow")  # 更改标签背景色为黄色


    def on_leave(event):
        print("鼠标滑出了标签")
        label.config(bg="white")  # 更改标签背景色为白色


    root = tk.Tk()

    label = tk.Label(root, text="鼠标滑过这里", bg="white")
    label.pack(padx=20, pady=20)

    label.bind("<Enter>", on_enter)
    label.bind("<Leave>", on_leave)
    root.mainloop()


def demo2():



    def tree_color():  # 表格栏隔行显示不同颜色函数
        items = tree1.get_children()  # 得到根目录所有行的iid
        i = 0  # 初值
        for hiid in items:
            if i / 2 != int(i / 2):  # 判断奇偶
                tag1 = ''  # 奇数行
            else:
                tag1 = 'even'  # 偶数行
            tree1.item(hiid, tag=tag1)  # 偶数行设为浅蓝色的tag='even'
            i += 1  # 累加1

    root = Tk()  # 源码来自wb98.com

    img1 = PhotoImage(file='img.png')
    img2 = PhotoImage(file='img.png')

    tree1 = Treeview(root, columns=('qy', 'dz'))
    # 创建树表格组件，栏目有3个：#0, qy, dz

    tree1.column('#0', width=120, anchor=CENTER)
    tree1.column('qy', width=90, anchor=CENTER)
    tree1.column('dz', width=180, anchor=CENTER)
    # 定义3个栏目的宽度，对齐方法，宽度是否窗体变化

    tree1.heading('#0', text='')
    tree1.heading('qy', text='区域')
    tree1.heading('dz', text='地址')
    # 定义3个栏目的表头文字

    tree1.insert('', END, text='广州市', values=('海珠区', '阅江中路380号'))
    tree1.insert('', END, text='深圳市', values=('南山区', '华侨城侨香路11号'))
    tree1.insert('', END, text='东莞市', values=('南城区', '元美东路3号济亨网'))

    tree1.insert('', END, text='长沙市', values=('雨花区', '韶山中路108号'))
    tree1.insert('', END, text='湘潭市', values=('岳塘区', '书院路42号云峰工作室'))
    tree1.insert('', END, text='衡阳市', values=('蒸湘区', '祝融路名都花园B9栋107室'))

    tree1.insert('', END, text='长沙市', values=('岳麓区', '梅溪湖路复兴小区709号'))
    tree1.insert('', END, text='广州市', values=('白云区', '下塘西路545号'))

    tree1.pack(fill=BOTH, expand=True)

    # 3.8版要多加的代码------------
    def fixed_map(option):
        return [elm for elm in style.map("Treeview", query_opt=option) if elm[:2] != ("!disabled", "!selected")]

    style = Style()
    style.map("Treeview", foreground=fixed_map("foreground"), background=fixed_map("background"))
    # 3.8版要多加的代码------------

    # 定义背景色风格
    tree1.tag_configure('even', background='lightblue')  # even标签设定为浅蓝色背景颜色

    tree_color()  # 启动程序，根据奇偶行设为不同的背景颜色

    root.mainloop()

if __name__ == '__main__':

    from tkinter import *
    from tkinter.ttk import *
    demo2()